半個月轉瞬即逝,JS的部分在這邊也差不多告一段落了,最後提供一些關於JS的好雷、好用、或好習慣的雜集:
我相信如果你不是剛學程式語言,絕對會知道用單一字母命名(ABC命名法)是個不成熟的表現,會造成程式有極差的可讀性。我也相信,即使你知道這點,但在JS的一些情況下,你還是會選擇這樣使用:
// 可能會被討厭的寫法
const profiles = users.filter((u) =>{
return u.entities.find(e = e.type === 'profile');
});
或許你可以改成:
// 可能不會被討厭的寫法
const profiles = users.filter((user) =>{
return user.entities.find(entity = entity.type === 'profile');
});
值得注意的是,有幾處習慣上還是接受單一字母的變量名。例如,在for-loop中,使用i, j, k作為變量。還有n, m, x, y, z等等,請依照常見的conventio命名。
此外,另一個好習慣是養成給callback function參數命名。最後,儘量使用名詞複數作為array名稱,而用名詞單數作為該array中的元素名稱。就像我在這裡做的users和user。
在我的所舉的例子中,大部分都使用了function關鍵字,而不是使用箭頭函數表達式並佐以使用const。
這完全是出於偏好的考量。
export function sum(list){
// ...
}
export const sum = (list) => {
// ...
}
在ES6之後,我們已經見證箭頭函數流行起來的那些日子,而且的確它們的行為也與經典的函數不同。奇妙的是,在後來的最近幾年幾年裡,Function關鍵字又回到重要的地位,只要在使用它時維持FP原則。
當已經遵循了使用其中一個的慣例,那麼就堅持使用到底。
optional chaining
JSON.stringify
持續補充